package com.though.utils.tools;

/**
 * 版本比较
 */
public class VersionCompare {

	
	/**
	 * @param app_version app请求版本
	 * @param target_version 数据库最新版本
	 * @return
	 */
	public static boolean compare(String app_version, String target_version) {
		if (app_version.equals(target_version)) return false;
		
		String[] appv = app_version.split("\\."); // 注意此处为正则匹配，不能用"."；  
	    String[] tagv = target_version.split("\\.");
	    if (appv.length == tagv.length) {
	    	for(int i=0; i<appv.length; i++) {
	    		int app = Integer.valueOf(appv[i].trim());
	    		int tag = Integer.valueOf(tagv[i].trim());
	    		if (tag > app) return true;
	    		else if (tag < app) return false;
	    	}
	    	return false;
	    }
	    if (appv.length > tagv.length) {
	    	for(int i=0; i<tagv.length; i++) {
	    		int app = Integer.valueOf(appv[i].trim());
	    		int tag = Integer.valueOf(tagv[i].trim());
	    		if (tag > app) return true;
	    		else if (tag < app) return false;
	    	}
	    	return false;
	    }
	    if (appv.length < tagv.length) {
	    	for(int i=0; i<appv.length; i++) {
	    		int app = Integer.valueOf(appv[i].trim());
	    		int tag = Integer.valueOf(tagv[i].trim());
	    		if (tag > app) return true;
	    		else if (tag < app) return false;
	    	}
	    	return true;
	    }
	    
	    return false;
	}
}